﻿#define _CRT_SECURE_NO_WARNINGS 1
//#include <stdio.h>
//int main()
//{
//	int a = 1000;
//	FILE * pf = fopen("test.txt", "wb");
//	//⼆进制的形式写到⽂件中
//	fwrite(&a, 4, 3, pf);
//	fclose(pf);
//	pf = NULL;
//	return 0;
//}
//




//#include <stdio.h>
//int main()
//{
//	//打开文件
//	FILE* p = fopen("text.txt", "w");
//	if (p != NULL)
//	{
//		//写入一行文本
//		fputc('a', p);
//		//关闭文件
//		fclose(p);
//		p = NULL;
//	}
//	else
//	{
//		perror("fopen");
//	}
//	
//	return 0;
//}


//struct _iobuf {
//	char* _ptr;
//	int _cnt;
//	char* _base;
//	int _flag;
//	int _file;
//	int _charbuf;
//	int _bufsiz;
//	char* _tmpfname;
//};
//typedef struct _iobuf FILE;


//#include <stdio.h>
//int main()
//{
//	//打开文件
//	FILE* p = fopen("text.txt", "r");
//	if (p == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//	//读文件
//	int ch = 0;
//	while ((ch = fgetc(p)) != EOF)
//	{
//		printf("%c", ch);
//	}
//	//关闭文件
//	fclose(p);
//	p = NULL;
//	return 0;
//}



//#include <stdio.h>
//int main()
//{
//	//打开文件
//	FILE* p = fopen("text.txt", "w");
//	if (p != NULL)
//	{
//		//写入一行文本
//		fputs("abc", p);
//		//关闭文件
//		fclose(p);
//		p = NULL;
//	}
//	else
//	{
//		perror("fopen");
//	}
//	
//	return 0;
//}


//#include <stdio.h>
//int main()
//{
//	//打开文件
//	FILE* p = fopen("text.txt", "r");
//	if (p == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//	char arr[20] = { 0 };
//	//读文件
//	fgets(arr, 6, p);
//	printf("%s", arr);
//
//	//关闭文件
//	fclose(p);
//	p = NULL;
//
//	return 0;
//}


//struct S
//{
//	char name[20];
//	int age;
//	float score;
//};
//
//#include <stdio.h>
//int main()
//{
//	struct S s = { "李四",20,89.5f };
//	//打开文件
//	FILE* p = fopen("text.txt", "w");
//	if (p == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//	//写文件以文本的形式写进去
//	fprintf(p,"%s %d %lf",s.name,s.age,s.score);
//	//关闭文件
//	fclose(p);
//	p = NULL;
//	return 0;
//}




//struct S
//{
//	char name[20];
//	int age;
//	float score;
//};
//
//#include <stdio.h>
//int main()
//{
//	struct S s = { 0 };
//	//打开文件
//	FILE* p = fopen("text.txt", "r");
//	if (p == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//	//读文件
//	fscanf(p, "%s %d %f", s.name, &(s.age), &(s.score));
//	
//	//打印到屏幕上
//	printf("%s %d %f", s.name, s.age, s.score);
//	
//	//关闭文件
//	fclose(p);
//	p = NULL;
//	return 0;
//}



//#include <stdio.h>
//int main()
//{
//	int arr[] = { 1,2,3,4,5 };
//	FILE* p = fopen("text.txt", "wb");
//	if (p == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//	//写数据
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	fwrite(arr, sizeof(arr[0]), sz, p);//以二进制的形式写进去
//	//关闭文件
//	fclose(p);
//	p = NULL;
//	return 0;
//}



//#include <stdio.h>
//int main()
//{
//	int arr[5] = { 0 };
//	FILE* p = fopen("text.txt", "rb");
//	if (p == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//	//读数据
//	fread(arr, sizeof(arr[0]), 5, p);//以二进制的形式读取
//	int i = 0;
//	for (i = 0; i < 5; i++)
//	{
//		printf("%d ", arr[i]);//1  2  3  4  5
//	}
//	//关闭文件
//	fclose(p);
//	p = NULL;
//	return 0;
//}


//#include <stdio.h>
//int main()
//{
//	FILE* p = fopen("text.txt", "r");
//	
//	if (p == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//	//读文件
//	int ch = fgetc(p);
//	printf("%c\n", ch);//a
//
//	fseek(p, 4, SEEK_CUR);
//
//	ch = fgetc(p);
//	printf("%c\n", ch);//f
//	
//	fclose(p);
//	p = NULL;
//	return 0;
//}




//#include <stdio.h>
//int main()
//{
//	FILE* p = fopen("text.txt", "r");
//	if (p == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//	//读取
//	int ch = 0;
//	while ((ch = fgetc(p)) != EOF)
//	{
//		printf("%c\n", ch);
//	}
//	//判断是什么原因导致读取结束的
//	if (feof(p))
//	{
//		printf("遇到文件末尾，读取正常结束\n");
//	}
//	else if (ferror(p))
//	{
//		perror("fgetc");
//	}
//
//	return 0;
//}
//#include <stdio.h>
//int main()
//{
//	FILE* p = fopen("test.txt", "r");//读
//	if (p == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//	//写
//	char ch = 0;
//	for (ch = 'a'; ch <= 'z'; ch++)
//	{
//		fputc(ch, p);
//	}
//
//	//判断是什么原因导致读取结束的
//	if (feof(p))
//	{
//		printf("遇到文件末尾，读取正常结束\n");
//	}
//	else if (ferror(p))
//	{
//		perror("fputc");
//	}
//
//	return 0;
//}